【python】用nltk将文章分割为自然语句 您所在的位置:网站首页 python 断句库 【python】用nltk将文章分割为自然语句

【python】用nltk将文章分割为自然语句

2024-07-10 04:34| 来源: 网络整理| 查看: 265

NLTK简介

官方地址:https://www.nltk.org/ NLTK 是构建 Python 程序以处理人类语言数据的领先平台。它为超过 50 个语料库和词汇资源(如 WordNet)提供易于使用的界面,以及一套用于分类、标记化、词干提取、标记、解析和语义推理的文本处理库,工业级 NLP 库的包装器

功能

用nltk将文章分割为自然语句 原文章放在1.txt中,处理后生成的成果放在2.txt 这两个文本需要在.py同路径下

代码 #coding=utf-8 import nltk import re # 自定义分句标记,包括英文和中文标点 def sentence_tokenize(text): sentence_enders = re.compile('[。\!\?;;\n\r]+|[.?!]+') sentence_list = sentence_enders.split(text) return sentence_list # 下载模型文件 nltk.download('punkt') print(nltk.data.path) # 打开原始文本文件并读取其中的文本内容 with open('1.txt', 'r', encoding='utf-8') as f: text = f.read() # 将文本按照两个连续换行符“\n\n”进行分段 paragraphs = text.split('\n\n') # 将每个段落分句并写入新的文本文件中 with open('2.txt', 'w', encoding='utf-8') as f: for paragraph in paragraphs: # 如果段落不为空,则进行分句处理并写入新文件 if paragraph.strip(): sentences = sentence_tokenize(paragraph) for sentence in sentences: f.write(sentence.strip() + '\n') # 如果段落为空,则在新文件中写入一个空行 else: f.write('\n') 注意事项 nltk.download(‘punkt’) 可能下载失败nltk.download()函数用于下载NLTK库所需的数据集和模型文件。一旦这些文件被下载并安装到用户的计算机上,就可以在不再需要下载的情况下使用NLTK库。因此,一旦您下载了所需的数据集和模型文件,可以将下载后的文件删除,而不会影响到程序对NLTK库的使用。 默认情况下,nltk.download()函数会将数据集和模型文件下载到您的电脑上的一个默认位置。如果您要删除这些文件,请确保知道它们的位置并可以删除它们。 在Python中,使用nltk.data.path命令可以查找nltk.download()函数下载的数据集和模型文件的位置。该命令将返回一个包含字符串的列表,这些字符串是因使用NLTK库而添加到Python中的路径。 # 返回nltk数据集和模型文件所在的路径列表 print(nltk.data.path) 使用PyInstaller将Python程序打包为可执行文件时,可以将需要的数据集和模型一起打包到生成的可执行文件中。 运行PyInstaller命令使用–add-data选项将punkt模型文件添加到可执行文件中。例如: pyinstaller myprogram.py --add-data="C:\Users\myusername\AppData\Roaming\nltk_data\tokenizers\punkt\*.pickle;nltk_data/tokenizers/punkt" --onefile

注意,此命令应当根据您计算机上的实际路径进行修改。这个例子中假设您在本地计算机上使用了默认路径安装了NLTK库,即C:\Users\myusername\AppData\Roaming\nltk_data。

这个命令将punkt模型文件作为一组数据添加到了可执行文件中。–add-data选项的格式是:

--add-data=";"

其中是要添加的文件或文件夹的路径,是添加到可执行文件中的相应目录。在这个例子中,是*.pickle文件的路径,是nltk_data/tokenizers/punkt,表示它会将*.pickle文件放在生成的exe文件中的nltk_data/tokenizers/punkt目录下。

–onefile选项是将所有需要的文件打包到一个文件中,而不是生成一个文件夹。如果您不想将所有文件打包成一个文件,可以删除–onefile选项,并且在生成的文件夹中,将nltk_data/tokenizers/punkt/复制到与.exe文件相同的目录中。

经过上述步骤,当您运行打包好的可执行文件时,punkt模型文件将被自动提取到本地计算机的临时目录中,以供程序使用。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有